diff -up hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp.clear-old-state-reasons hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp.clear-old-state-reasons	2012-06-19 11:00:06.000000000 +0200
+++ hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp	2012-06-19 11:00:57.822093043 +0200
@@ -510,6 +510,13 @@ int HPCupsFilter::StartPrintJob(int  arg
 
     signal(SIGTERM, HPCancelJob);
 
+/*
+ *  Prior to the re-write of hpcups, this filter managed the
+ *  marker-supply-low-warning printer state reason.  Make sure to
+ *  clear that state reason so that upgrades work correctly.
+ */
+    fputs ("STATE: -marker-supply-low-warning\n", stderr);
+
     cups_raster = cupsRasterOpen(fd, CUPS_RASTER_READ);
 
     if (cups_raster == NULL) {